import create from 'dd-store'
import pageStore from '../../../../../stores/globalStore/index.js'
import { getStaffInfoApi, careOfApi } from '/pages/api/manage.js'

create.Page({
  store: pageStore,
  data: {
    // 存放所有数据
    dataList: [],
    // 存放搜索的数据
    searchList: [],
    // 存放选择后的员工信息
    cateOfSelectedInfo: {},
    // 是否显示提示弹窗的标识
    isShowReminderModel: false,
    // 是否是搜索状态
    isSearch: false,
    // 搜索框输入的关键字
    keyWord: '',
    // 选择人员后弹出的提示信息
    modelMsg: '',
    // 转交时候要提交的数据
    submitInfo: {},
    currentOperationUserName: ''

  },
  onLoad() {
    // 刚开始的时候拿到当前操作人的名称
    let res = dd.getStorageSync({ key: 'currentCity' });
    this.setData({
      currentOperationUserName: res.data.value.userName
    })
    // 设置加载动画
    dd.showLoading({
      content: '数据加载中',
    });
    console.log('aaa' < 'bbb');
    // 初始化渲染的时候请求所有员工信息
    this.getStaffInfo()
  },
  // 请求所有员工信息的函数
  getStaffInfo() {
    getStaffInfoApi().then((res) => {
      // 存放数据
      let newData = []
      newData = res.data
      // 过滤当前操作人
      let indexD = null
      newData.forEach((item, index) => {
        if (item.userName == this.data.currentOperationUserName) {
          indexD = index
        }
      })
      newData.splice(indexD, 1)
      newData.sort((a, b) => {
        var x = a.deptName.toLowerCase()
        var y = b.deptName.toLowerCase()
        if (x < y) {
          return -1
        }
        if (x > y) {
          return 1
        }
        return 0
      })
      this.setData({
        dataList: newData
      })
      // 加载完数据后关闭加载动画
      dd.hideLoading();
    })
  },
  // 搜索框的change事件函数
  keywordChange(val) {
    // 同步data内的keyWord值
    this.setData({
      keyWord: val
    })
    this.searchingDataFunc()
  },
  // 检索数据的函数
  searchingDataFunc() {
    let val = this.data.keyWord
    let data = this.data.dataList
    let newList = []

    // 遍历检索数据
    data.forEach((item) => {
      if (item.userName.indexOf(val) != -1) {
        newList.push(item)
      }
    })

    // 更新数据
    this.setData({
      searchList: newList
    })
  },
  // 选人的时候的点击事件
  listItemClick(e) {
    console.log(e);
    let info = e.target.dataset.info
    // 拼接提示信息
    let modelMsg = `确定要转交给${info.deptName}的${info.userName}吗？`

    // 从本地缓存拿到当前操作人的userId
    let storageRes = dd.getStorageSync({ key: 'currentCity' });
    let submitInfo = {
      userDDId: storageRes.data.value.userId,
      anonymousUserDDId: info.managerUserDDId,
      nowPmProgressId: this.$store.data.pmProgressId
    }
    this.setData({
      modelMsg: modelMsg,
      isShowReminderModel: true,
      submitInfo: submitInfo
    })
  },
  // 弹窗的确定点击事件
  modelConfirmClick() {
    let data = this.data.submitInfo
    // 发起转交请求
    careOfApi(data).then(() => {
      console.log(res);
    })
    // 关闭弹窗
    this.modelClose();
    // 调用上一个页面的onLoad方法刷新上一个页面
    var page = getCurrentPages();
    let prePage = page[page.length - 2]
    prePage.refreshPageOfOnLoad()
    // 返回上一个页面
    this.toBack()
  },
  // 弹窗的关闭事件
  modelClose() {
    this.setData({
      isShowReminderModel: false
    })
  },
  // 弹窗的取消点击事件
  handleSecondaryButtonTap() {
    this.modelClose()
  },
  // 搜索框右边的取消点击事件函数--返回上一个页面
  toBack() {
    dd.navigateBack()
  }
});
